package src.io;

import java.io.FileInputStream;
import java.io.IOException;

/**
 * 文件输入流，用于从文件中读取字节数据
 */
public class FISDemo {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("./fos.dat");
        /*
            InputStream中定义了读取一个字节的方法:
            int read()
            读取一个字节，并以int型返回。若返回值为-1则表示读取到了末尾。

            fos.dat文件数据:
            00000001 00000100
            ^^^^^^^^

            read返回的int值2进制内容:
            00000000 00000000 00000000 00000001
            |--------高24位补0--------|
         */
        int d = fis.read();
        System.out.println(d);//输出10进制的整数值为:1
        /*
            fos.dat文件数据:
            00000001 00000100
                     ^^^^^^^^

            read返回的int值2进制内容:
            00000000 00000000 00000000 00000100
            |--------高24位补0--------|
         */
        d = fis.read();
        System.out.println(d);//输出10进制的整数值为:4
        /*
            fos.dat文件数据:
            00000001 00000100 文件末尾
                              ^^^^^^^^

            read返回的int值2进制内容:
            11111111 11111111 11111111 11111111
            |------------32位全部为1-----------|

         */
        d = fis.read();
        System.out.println(d);//输出10进制的整数值为:-1  表示流读到末尾了!!

        fis.close();
    }
}
